package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.TreeEntity;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 地区对象 area
 *
 * @author gzhuangwei
 * @date 2022-02-28
 */
public class Area extends TreeEntity
{
    private static final long serialVersionUID = 1L;

    /** 地区ID */
    @Excel(name = "地区ID")
    private Long areaId;

    /** 父地区ID */
    @Excel(name = "父地区ID")
    private Long areaFatherId;

    /** 地区名称 */
    @Excel(name = "地区名称")
    private String areaTitle;

    /** 地区简称 */
    private String areaShortTitle;

    /** 地区类型 */
    @Excel(name = "地区类型")
    private String areaType;

    /** 地区排序 */
    @Excel(name = "地区排序")
    private Long areaOrder;

    /** 备注 */
    private String areaRemark;

    /** 审批状态 */
    @Excel(name = "审批状态")
    private String areaState;

    /** 创建者ID */
    @Excel(name = "创建者ID")
    private Long areaCreateId;

    /** 修改人ID */
    @Excel(name = "修改人ID")
    private Long areaUpdateId;

    /** 创建时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd HH:mm:ss")
    private Date areaCreateTime;

    /** 创建人用户名 */
    @Excel(name = "创建人用户名")
    private String areaCreateBy;

    /** 修改时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date areaUpdateTime;

    /** 审批人ID */
    private Long areaApproveId;

    /** 审批时间 */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss")
    private Date areaApproveTime;

    /** 修改人用户名 */
    @Excel(name = "修改人用户名")
    private String areaUpdateBy;

    /** 审批人用户名 */
    @Excel(name = "审批人用户名")
    private String areaApproveBy;

    public void setAreaId(Long areaId)
    {
        this.areaId = areaId;
    }
    public Long getAreaId()
    {
        return areaId;
    }

    public void setAreaFatherId(Long areaFatherId)
    {
        this.areaFatherId = areaFatherId;
    }
    public Long getAreaFatherId()
    {
        return areaFatherId;
    }

    public void setAreaTitle(String areaTitle)
    {
        this.areaTitle = areaTitle;
    }
    public String getAreaTitle()
    {
        return areaTitle;
    }

    public void setAreaShortTitle(String areaShortTitle)
    {
        this.areaShortTitle = areaShortTitle;
    }
    public String getAreaShortTitle()
    {
        return areaShortTitle;
    }

    public void setAreaType(String areaType)
    {
        this.areaType = areaType;
    }
    public String getAreaType()
    {
        return areaType;
    }

    public void setAreaOrder(Long areaOrder)
    {
        this.areaOrder = areaOrder;
    }
    public Long getAreaOrder()
    {
        return areaOrder;
    }

    public void setAreaRemark(String areaRemark)
    {
        this.areaRemark = areaRemark;
    }
    public String getAreaRemark()
    {
        return areaRemark;
    }

    public void setAreaState(String areaState)
    {
        this.areaState = areaState;
    }
    public String getAreaState()
    {
        return areaState;
    }

    public void setAreaCreateId(Long areaCreateId)
    {
        this.areaCreateId = areaCreateId;
    }
    public Long getAreaCreateId()
    {
        return areaCreateId;
    }

    public void setAreaUpdateId(Long areaUpdateId)
    {
        this.areaUpdateId = areaUpdateId;
    }
    public Long getAreaUpdateId()
    {
        return areaUpdateId;
    }

    public void setAreaCreateTime(Date areaCreateTime)
    {
        this.areaCreateTime = areaCreateTime;
    }
    public Date getAreaCreateTime()
    {
        return areaCreateTime;
    }

    public void setAreaCreateBy(String areaCreateBy)
    {
        this.areaCreateBy = areaCreateBy;
    }
    public String getAreaCreateBy()
    {
        return areaCreateBy;
    }

    public void setAreaUpdateTime(Date areaUpdateTime)
    {
        this.areaUpdateTime = areaUpdateTime;
    }
    public Date getAreaUpdateTime()
    {
        return areaUpdateTime;
    }

    public void setAreaApproveId(Long areaApproveId)
    {
        this.areaApproveId = areaApproveId;
    }
    public Long getAreaApproveId()
    {
        return areaApproveId;
    }

    public void setAreaApproveTime(Date areaApproveTime)
    {
        this.areaApproveTime = areaApproveTime;
    }
    public Date getAreaApproveTime()
    {
        return areaApproveTime;
    }

    public void setAreaUpdateBy(String areaUpdateBy)
    {
        this.areaUpdateBy = areaUpdateBy;
    }
    public String getAreaUpdateBy()
    {
        return areaUpdateBy;
    }

    public void setAreaApproveBy(String areaApproveBy)
    {
        this.areaApproveBy = areaApproveBy;
    }
    public String getAreaApproveBy()
    {
        return areaApproveBy;
    }


    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("areaId", getAreaId())
                .append("areaFatherId", getAreaFatherId())
                .append("areaTitle", getAreaTitle())
                .append("areaShortTitle", getAreaShortTitle())
                .append("areaType", getAreaType())
                .append("areaOrder", getAreaOrder())
                .append("areaRemark", getAreaRemark())
                .append("areaState", getAreaState())
                .append("areaCreateId", getAreaCreateId())
                .append("areaUpdateId", getAreaUpdateId())
                .append("areaCreateTime", getAreaCreateTime())
                .append("areaCreateBy", getAreaCreateBy())
                .append("areaUpdateTime", getAreaUpdateTime())
                .append("areaApproveId", getAreaApproveId())
                .append("areaApproveTime", getAreaApproveTime())
                .append("areaUpdateBy", getAreaUpdateBy())
                .append("areaApproveBy", getAreaApproveBy())
                .toString();
    }
}